﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using CapaEntidades;
using CapaNegocio;
using System.Web.Script.Serialization;

namespace CapaPresentacion
{
    /// <summary>
    /// Descripción breve de wsContizacion
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // Para permitir que se llame a este servicio web desde un script, usando ASP.NET AJAX, quite la marca de comentario de la línea siguiente. 
    [System.Web.Script.Services.ScriptService]
    public class wsContizacion : System.Web.Services.WebService
    {

        [WebMethod(EnableSession = true)]
        public int agregarProducto(int id,String nom,Double pre, int can)
        {
            try
            {
                List<enCotizacionDetalle> lstCot = new List<enCotizacionDetalle>();
                if (Session["cotizacion"] == null)
                {

                    enCotizacionDetalle cot = new enCotizacionDetalle();
                    enProducto producto = new enProducto();
                    producto.pro_id = id;
                    producto.pro_presentacion = nom;
                    cot.cotDet_precio = pre;
                    cot.cotDet_cantidad = can;
                    cot.producto = producto;
                    lstCot.Add(cot);

                    Session["cotizacion"] = lstCot;
                }
                else {
                    lstCot = (List<enCotizacionDetalle>)Session["cotizacion"];
                    Boolean val = true;
                    foreach (var enCotizacionDetalle in lstCot)
                    {
                        if (enCotizacionDetalle.producto.pro_id == id)
                        {
                            val = false;
                        }
                    }
                    if (val)
                    {
                        enCotizacionDetalle cot = new enCotizacionDetalle();
                        enProducto producto = new enProducto();
                        producto.pro_id = id;
                        producto.pro_presentacion = nom;
                        cot.cotDet_precio = pre;
                        cot.cotDet_cantidad = can;
                        cot.producto = producto;
                        lstCot.Add(cot);
                    }
                    Session["cotizacion"] = lstCot;

                }
            }
            catch (Exception e)
            {

                throw;
            }

            return 1;
        }

        [WebMethod(EnableSession = true)]
        public String listaDetalleProductos() {
            String json="";
            if (Session["cotizacion"] != null) {
                List<enCotizacionDetalle> lstProducto = new List<enCotizacionDetalle>();
                lstProducto = (List<enCotizacionDetalle>)Session["cotizacion"];
                var jsonSerialiser = new JavaScriptSerializer();
                json = jsonSerialiser.Serialize(lstProducto);
            }
            return json;
        }

        [WebMethod(EnableSession = true)]
        public String prueba(int lin_id, String lin_descripcion)
        {
            List<enLinea> lst = new List<enLinea>();
            enLinea l = new enLinea();
            l.lin_id = lin_id +100;
            l.lin_descripcion = lin_descripcion +"Desde";
            lst.Add(l);
            String json = "";
            var jsonSerialiser = new JavaScriptSerializer();
            json = jsonSerialiser.Serialize(l);
            return json;
        }


    }
}
